import type { FormRules  } from "element-plus";

/** 任务组 */
export interface Group {
    id?: number ; 
    /** 任务组名称 */
    taskGroupName: string;
    /** 任务组描述 */
    remark?: string;
    /** 任务组创建时间 */
    createdAt?: string;
    /** 任务组更新时间 */
    updatedAt?: string;
    /** 运行数量 */
    workSize?: number; 
}

/** 组列表 */
export type GroupList = Group[] | null;


/** 组搜索参数 */
export interface SearchGroupParams {
    /** 组描述 */
    remark?: string;
    /** 组名称 */
    taskGroupName?: string;
}

/** 分组表单 */
export interface GroupForm {
  flag: boolean;
  title: string;
  data: Group;
  rules: FormRules<Group>
}

/** 分页器 */
export interface Pager {
    /** 页码 */
    pageNum: number;
    /** 每页显示条数 */
    pageSize: number;
    /** 总条数 */
    total: number;
}



/** 任务采集器分页搜素参数 */
export interface CollectTaskSelectParams {
    /** 每页显示条数 */
    pageSize: number;
    /** 页码 */
    pageNum: number;
    /** 采集器描述 */
    remark?: string;
    /** 采集器名称 */
    taskName?: string;
    /** 采集器类型 */
    taskType?: number;
    /** 采集器ID */
    taskGroupIds?: number[];
}

/** 任务采集器 */
export interface CollectTask {
    id?: number;
    createdAt?: string;
    updatedAt?: string;
    taskName?: string;
    taskType?: number;
    taskFreqCorn?: string;
    taskStatus?: boolean;
    taskOtherInfo?: string;
    collectFilePath?: string;
    collectReadLine?: number;
    taskGroupId?: number;
    listenerPort?: number;
    hexOrderString?: string;
    tarTcpUrl?: string;
    taskBufferSize?: number;
    clientId?: string;
    mqttUrl?: string;
    userName?: string;
    password?: string;
    topic?: string;
    qos?: number;
    remark?: string;
    collectBaseValuesJson?: string;
    flag?: boolean
}

/** 任务采集器列表 */
export type CollectTaskList = CollectTask[];

/** 任务采集器表单 */
export interface CollectTaskForm {
  flag: boolean;
  title: string;
  data: CollectTask;
  rules: FormRules<CollectTask>
}
